#ifndef CUSTOMIZELINEEDIT_H
#define CUSTOMIZELINEEDIT_H

#include <QLineEdit>
#include <QString>

// 自定义 LineEdit
// 添加在 LineEdit 中设置图标、失去焦点时发送信号、清除文字等功能
class CustomizeLineEdit : public QLineEdit
{
    Q_OBJECT
public:
    CustomizeLineEdit(QWidget *parent = nullptr);

protected:
    // 处理失去焦点事件
    void focusOutEvent(QFocusEvent *e) override;

private:
    void _SetConnect();

    // 在输入框头部添加图标 和 文字
    void _AddIconToHead(const QString &iconPath, const QString &text = QString());

    // 在输入框尾部添加清除文字图标
    void _AddClearIconToTail(const QString &iconPath);

signals:
    // 失去焦点信号
    void sig_focus_out();
};

#endif // CUSTOMIZELINEEDIT_H
